JAXenter: Who is leading the DevOps show? Develops or operators?
Charity Majors: The center of gravity is moving to software engineers, who sit in the middle of a mess of internal and external APIs and services, trying to craft something meaningful out of it. Software engineers are who we should be building for … not least because there’s no such thing as “operators” any more. Ops engineers write software too.
Ops isn’t going away, but ops increasingly lives on the other side of an API, instead of sitting next to you at work. This is great news — you get to rent world-class operations talent by using companies like AWS, Fastly, and other infrastructure providers, the talent that you likely could never recruit and hire yourself.
JAXenter: The focus is slowly shifting from “What is DevOps?” Where do we start?”. How do we answer the second question?
Charity Majors: You start by making software engineers responsible for their own services. Putting them on the hook for the quality of their own code shortens the feedback loop and aligns their incentives with their users. Operations are simply ownership and responsibility for outcomes.
No service really needs an operator. They need owners.
Start by making software engineers responsible for their own services.
JAXenter: How important is it to incorporate security into DevOps (DevSecOps)? What are the benefits? Should it be a priority or an afterthought?
Charity Majors: Good teams have always baked security in from the very beginning of any idea or implementation.
JAXenter: How important is automation in a DevOps context and what are the areas where automation is really needed?
Charity Majors: Anywhere that good judgment is not needed, the work should be automated away. You should only need to exercise judgment in the critical triage path and for your few business differentiators.
JAXenter: Should testing become an essential component of the CI/CD pipeline? Are we underestimating its importance?
Charity Majors: Testing is absolutely essential, what are you talking about? All of “CI” is about continuously running integration tests!
Actually, I think we overestimate the importance of testing. Testing, like monitoring, is good at catching all your known unknowns so you don’t make the same mistake twice. In the future, when we are running complex distributed systems and unknown-unknowns predominate, testing and monitoring are not enough to catch the most critical failures. You will need well-instrumented code that enables real-time observability.
JAXenter: Some companies are still struggling with DevOps metrics. What are the key metrics that matter and how can they enhance DevOps success?
Charity Majors: How happy your users are and how much sleep your engineers get.
JAXenter: Do you think the abundance of DevOps tools has helped or slowed down DevOps adoption?
Charity Majors: Tools are essential. Discernment in selecting them, even more so.
JAXenter: There’s a huge demand for DevOps professionals. What skills do you need to have in order to tap into the perks that accompany the job description?
Charity Majors: Only curiosity and access.
Thank you very much!